<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Oatc.OpenMI.Sdk.Spatial</name>
    </assembly>
    <members>
        <member name="T:Oatc.OpenMI.Sdk.Spatial.DataOperation">
            <summary>
            Summary description for DataOperation.
            </summary>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.DataOperation.#ctor">
            <summary>
            Redecalration of the overloaded constructor from the base class. 
            The redeclaration is probably needed since constructors can not be 
            marked as virtual.
            </summary>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.DataOperation.#ctor(OpenMI.Standard.IDataOperation)">
            <summary>
            Redecalration of the overloaded constructor from the base class. 
            The redeclaration is probably needed since constructors can not be 
            marked as virtual.
            </summary>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.DataOperation.#ctor(System.String)">
            <summary>
            Redecalration of the overloaded constructor from the base class. 
            The redeclaration is probably needed since constructors can not be 
            marked as virtual.
            </summary>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.DataOperation.IsValid(OpenMI.Standard.IInputExchangeItem,OpenMI.Standard.IOutputExchangeItem,OpenMI.Standard.IDataOperation[])">
            <summary>
            For a given combination of inputExchangeItem, outputExchangeItem and list of dataOperation 
            it is decided if the dataOperations constitutes a valid set seen from a spatial settings 
            point of view. 
            </summary>
            <param name="inputExchangeItem">The input exchange item</param>
            <param name="outputExchangeItem">The output exchange item</param>
            <param name="SelectedDataOperations">List of selected dataOperations</param>
        </member>
        <member name="T:Oatc.OpenMI.Sdk.Spatial.XYPoint">
            <summary>
            XYPoint is simply a x and a y coordinate.
            </summary>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYPoint.#ctor">
            <summary>
            Constructor.
            </summary>
            <returns>None</returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYPoint.#ctor(System.Double,System.Double)">
            <summary>
            Constructor.
            </summary>
            <returns>None</returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYPoint.#ctor(Oatc.OpenMI.Sdk.Spatial.XYPoint)">
            <summary>
            Constructor.
            </summary>
            <returns>None</returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYPoint.Equals(System.Object)">
            <summary>
            Compares the object type and the coordinates of the object and the 
            object passed as parameter.
            </summary>
            <returns>True if object type is XYPolyline and the coordinates are 
            equal to to the coordinates of the current object. False otherwise.</returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYPoint.GetHashCode">
            <summary>
            Get Hash Code.
            </summary>
            <returns>Hash Code for the current instance.</returns>
        </member>
        <member name="P:Oatc.OpenMI.Sdk.Spatial.XYPoint.X">
            <summary>
            Read/Write property describing the x-coordinate of the point.
            </summary>
        </member>
        <member name="P:Oatc.OpenMI.Sdk.Spatial.XYPoint.Y">
            <summary>
            Read/Write property describing the y-coordinate of the point.
            </summary>
        </member>
        <member name="T:Oatc.OpenMI.Sdk.Spatial.ElementSetChecker">
            <summary>
            Summary description for ElementSetChecker.
            </summary>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.ElementSetChecker.CheckElementSet(OpenMI.Standard.IElementSet)">
            <summary>
            Static method that validates an object with an IElementSet interface. The method 
            raises an Exception in case IElementSet does not describe a valid ElementSet.
            The checks made are:
              <p>ElementType: Check</p>
              <p>XYPoint:     Only one vertex in each element.</p>
              <p>XYPolyline:  At least two vertices in each element.</p>
              <p>             All line segments in each element has length > 0</p>
              <p>XYPolygon:   At least three vertices in each element.</p>
              <p>             Area of each element is larger than 0</p>
              <p>             All line segments in each element has length > 0</p>
              <p>             No line segments within an element crosses.</p>
            </summary>
            
            <param name="elementSet">Object that implement the IElementSet interface</param>
            
            <returns>
            The method has no return value.
            </returns>
        </member>
        <member name="T:Oatc.OpenMI.Sdk.Spatial.XYPolygon">
            <summary>
            <p>The XYPolygon class defines a polygon in the XY plane (no z coordinate)</p>
            <p></p>
            <p>The XYPolygon class has a number of usefull methods and XYPolygon objects
             are used as argument in a number of the methods in the Oatc.OpenMI.Sdk.Spatial
             namespace.</p>
            <p></p>
            <p>The XYPolygon class is inhereted from the org.OpenMI.Utilities.BackBone.Element class.</p>
            <p></p>
            <p>It is possible to upcaste the XYPoint objects to Element objects.</p>
            <p></p>
            <p>If you already have a Element object that defines a polygon you can construct
            a new XYPoint using the Element objects as argument in the constructor.</p>
            
            </summary>
        </member>
        <member name="T:Oatc.OpenMI.Sdk.Spatial.XYPolyline">
            <summary>
            XYPolyline is a collection of points (at least 2) connected with straigth lines.
            Polylines are typically used for presentation of 1D data, river networks e.t.c.
            </summary>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYPolyline.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYPolyline.#ctor(Oatc.OpenMI.Sdk.Spatial.XYPolyline)">
            <summary>
            Constructor. Copies the contents of the xyPolyline parameter.
            </summary>
            <param name="xyPolyline">Polyline to copy.</param>
            <returns>None</returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYPolyline.GetX(System.Int32)">
            <summary>
            Retrieves the x-coordinate of the index´th line point.
            </summary>
            <param name="index">Index number of the point.</param>
            <returns>X-coordinate of the index´th point in the polyline.</returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYPolyline.GetY(System.Int32)">
            <summary>
            Retrieves the y-coordinate of the index´th line point.
            </summary>
            <param name="index">Index number of the point.</param>
            <returns>Y-coordinate of the index´th point in the polyline.</returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYPolyline.GetLine(System.Int32)">
            <summary>
            Retrieves the lineNumber´th line segment of the polyline. The index 
            list is zero based.
            </summary>
            <param name="lineNumber">Index number of the line to retrieve.</param>
            <returns>The lineNumber´th line segment of the polyline.</returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYPolyline.GetLength">
            <summary>
            Calculates the length of the polyline.
            </summary>
            <returns>Length of the polyline.</returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYPolyline.Equals(System.Object)">
            <summary>
            Compares the object type and the coordinates of the object and the 
            object passed as parameter.
            </summary>
            <returns>True if object type is XYPolyline and the coordinates are 
            equal to to the coordinates of the current object. False otherwise.</returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYPolyline.GetHashCode">
            <summary>
            Get hash code.
            </summary>
            <returns>Hash Code for the current instance.</returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYPolyline.Validate">
            <summary>
            The validate method check if the XYPolyline is valid. The checks 
            made are: 
              - is number of points >= 2
              - is the length of all line segments positiv
            Exception is raised if the constraints are not met.
            </summary>
        </member>
        <member name="P:Oatc.OpenMI.Sdk.Spatial.XYPolyline.Points">
            <summary>
            Read only property holding the list of points.
            </summary>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYPolygon.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYPolygon.#ctor(Oatc.OpenMI.Sdk.Spatial.XYPolygon)">
            <summary>
            Constructor. Copies the contents of the xyPolygon parameter.
            </summary>
            <param name="xyPolygon">Polygon to copy.</param>
            <returns>None</returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYPolygon.GetArea">
            <summary>
            Calcualtes area of polygon. 
            </summary>
            <returns>Polygon area.</returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYPolygon.GetLine(System.Int32)">
            <summary>
            Returns the XYline that connects XYPoint LineNumber and the next 
            number (i.e. LineNumber+1 or 0).</summary>
            <param name="lineNumber">0-based line number.</param>
            <returns>
            The XYLine starting at node lineNumber.
            </returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYPolygon.FindEar">
            <summary>
            Finds a set of three concecutive points that form a triangle, that 
            is not intersected by other parts of the polygon.
            </summary>
            <param></param>
            <returns>
            <p>i: Index for the "midlle" point of triangle that forms an ear. 
            The ear is formed by P(i-1), P(i) and P(i+1), where P are points 
            included in the polygon.</p>
            </returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYPolygon.IsIntersected(System.Int32)">
            <summary>
            The method decides if the triangle formed by  P(i-1), P(i) and 
            P(i+1) from Polygon are intersected by any of the other points 
            of the polygon.
            </summary>
            <param name="i">Middle index for the three points that forms the triangle</param>
            <returns>
            <p>true: If the triangle P(i-1), P(i), P(i+1) is intersected by other parts of Polygon</p>
            <p>false: otherwise</p>
            </returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYPolygon.GetTriangulation">
            <summary>
            Returns an ArrayList of triangles of type XYPolygon describing the 
            triangalation of the polygon.
            </summary>
            <param></param>
            <returns>
            A triangulation of the polygon.
            </returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYPolygon.IsConvex(System.Int32)">
            <summary>
            Decides if the angle at i´th point is convex or concave.
            </summary>
            <param name="pointIndex">Index</param>
            <returns>
            <p>True if angle at the i´th point is convex.</p>
            <p>False if angle at the i´th point is concave.</p>
            </returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYPolygon.Equals(System.Object)">
            <summary>
            Compares the object type and the coordinates of the object and the 
            object passed as parameter.
            </summary>
            <returns>True if object type is XYPolygon and the coordinates are 
            equal to to the coordinates of the current object. False otherwise.</returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYPolygon.GetHashCode">
            <summary>
            Get hash code.
            </summary>
            <returns>Hash Code for the current instance.</returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYPolygon.Validate">
            <summary>
            The validate method check if the XYPolyline is valid. The checks 
            made are: 
              - is number of points >= 3
              - is the length of all line segments positiv
              - do any lines cross
              - is the area positiv
            Exception is raised if the constraints are not met.  
            </summary>
        </member>
        <member name="T:Oatc.OpenMI.Sdk.Spatial.XYLine">
            <summary>
            The XYline class is used for representing line segments. XYPolylines 
            and XYPolygons are composed of XYLines.
            </summary>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYLine.#ctor">
            <summary>
            Constructor.
            </summary>
            <returns>None</returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYLine.#ctor(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Constructor.
            </summary>
            <param name="x1">x-coordinate for line start point</param>
            <param name="y1">y-coordinate for line start point</param>
            <param name="x2">x-coordinate for line end point</param>
            <param name="y2">y-coordinate for line end point</param>
            <returns>None</returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYLine.#ctor(Oatc.OpenMI.Sdk.Spatial.XYPoint,Oatc.OpenMI.Sdk.Spatial.XYPoint)">
            <summary>
            Constructor.
            </summary>
            <param name="point1">Line start point</param>
            <param name="point2">Line end point</param>
            <returns>None</returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYLine.#ctor(Oatc.OpenMI.Sdk.Spatial.XYLine)">
            <summary>
            Constructor. Copies input line.
            </summary>
            <param name="line">Line to copy</param>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYLine.GetLength">
            <summary>
            Calculates the length of line.
            </summary>
            <returns>Line length</returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYLine.GetMidpoint">
            <summary>
            Calculates the mid point of the line.
            </summary>
            <returns>Returns the line mid point as a XYPoint</returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYLine.Equals(System.Object)">
            <summary>
            Compares the object type and the coordinates of the object and the 
            object passed as parameter.
            </summary>
            <returns>True if object type is XYLine and the coordinates are 
            equal to to the coordinates of the current object. False otherwise.</returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYLine.GetHashCode">
            <summary>
            Get Hash Code.
            </summary>
            <returns>Hash Code for the current instance.</returns>
        </member>
        <member name="P:Oatc.OpenMI.Sdk.Spatial.XYLine.P1">
            <summary>
            Read only property describing the one end-point.
            </summary>
        </member>
        <member name="P:Oatc.OpenMI.Sdk.Spatial.XYLine.P2">
            <summary>
            Read only property describing the one end-point.
            </summary>
        </member>
        <member name="T:Oatc.OpenMI.Sdk.Spatial.XYGeometryTools">
            <summary>
            The XYGeometryTools class is a collection of general geometry functions. All functions are 
            static methods that performs calculations on input given as parameters and returns a result.
            
            The parameters passed to the XYGeometryTools methods are typically of type XYPoint, XYLine, 
            XYPolyline or XYPolygon.
            </summary>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYGeometryTools.CalculatePointToPointDistance(Oatc.OpenMI.Sdk.Spatial.XYPoint,Oatc.OpenMI.Sdk.Spatial.XYPoint)">
            <summary>
            Returns the distance between the two points.
            </summary>
            <param name="p1">Point</param>
            <param name="p2">Point</param>
            <returns>Point to point distance</returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYGeometryTools.DoLineSegmentsIntersect(System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Returns true if two line segments intersects. The lines are said to intersect if the lines
            axctually crosses and not if they only share a point. 
            </summary>
            <param name="x1">x-coordiante for first point in first line segment</param>
            <param name="y1">y-coordinate for first point in first line segment </param>
            <param name="x2">x-cooedinate for second point in first line segment</param>
            <param name="y2">y-coordinate for second point in first line segment</param>
            <param name="x3">x-coordinate for the first point in second line segment</param>
            <param name="y3">y-coordinate for the first point in second line segment</param>
            <param name="x4">x-coordinate for the second point in the second line segment</param>
            <param name="y4">y-coordinate for the second point in the second line segment</param>
            <returns>True if the line segments intersects otherwise false.</returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYGeometryTools.DoLineSegmentsIntersect(Oatc.OpenMI.Sdk.Spatial.XYPoint,Oatc.OpenMI.Sdk.Spatial.XYPoint,Oatc.OpenMI.Sdk.Spatial.XYPoint,Oatc.OpenMI.Sdk.Spatial.XYPoint)">
            <summary>
            OverLoad of DoLineSegmentsIntersect(x1, y1, x2, y2, x3, y3, x4, y4)
            </summary>
            <param name="p1">First point in first line</param>
            <param name="p2">Second point in first line</param>
            <param name="p3">First point in second line</param>
            <param name="p4">Second point in second line</param>
            <returns>true if the line segmenst intersects otherwise false</returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYGeometryTools.DoLineSegmentsIntersect(Oatc.OpenMI.Sdk.Spatial.XYLine,Oatc.OpenMI.Sdk.Spatial.XYLine)">
            <summary>
            OverLoad of DoLineSegmentsIntersect(x1, y1, x2, y2, x3, y3, x4, y4)
            </summary>
            <param name="line1">First line</param>
            <param name="line2">Second line</param>
            <returns>true if the line segmenst intersects otherwise false</returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYGeometryTools.CalculateIntersectionPoint(Oatc.OpenMI.Sdk.Spatial.XYPoint,Oatc.OpenMI.Sdk.Spatial.XYPoint,Oatc.OpenMI.Sdk.Spatial.XYPoint,Oatc.OpenMI.Sdk.Spatial.XYPoint)">
            <summary>
            Calculate intersection point between two line segments.
            </summary>
            <param name="p1">First point in first line</param>
            <param name="p2">Second point in first line</param>
            <param name="p3">First point in second line</param>
            <param name="p4">Second point in second line</param>
            <returns>Intersection point</returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYGeometryTools.CalculateIntersectionPoint(Oatc.OpenMI.Sdk.Spatial.XYLine,Oatc.OpenMI.Sdk.Spatial.XYLine)">
            <summary>
            OverLoad of CalculateIntersectionPoint(XYPoint p1, XYPoint p2, XYPoint p3, XYPoint p4)
            </summary>
            <param name="line1">First line</param>
            <param name="line2">Second line</param>
            <returns>Intersection point</returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYGeometryTools.CalculateLengthOfPolylineInsidePolygon(Oatc.OpenMI.Sdk.Spatial.XYPolyline,Oatc.OpenMI.Sdk.Spatial.XYPolygon)">
            <summary>
            Calculates the length of polyline inside polygon. Lines segments on the edges of 
            polygons are included with half their length.
            </summary>
            <param name="polyline">Polyline</param>
            <param name="polygon">Polygon</param>
            <returns>
            Length of polyline inside polygon.
            </returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYGeometryTools.CalculateSharedLength(Oatc.OpenMI.Sdk.Spatial.XYLine,Oatc.OpenMI.Sdk.Spatial.XYLine)">
            <summary>
            Calculates the length that two lines overlap.
            </summary>
            <param name="lineA">Line</param>
            <param name="lineB">Line</param>
            <returns>
            Length of shared line segment.
            </returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYGeometryTools.CalculateLengthOfLineInsidePolygon(Oatc.OpenMI.Sdk.Spatial.XYLine,Oatc.OpenMI.Sdk.Spatial.XYPolygon)">
            <summary>
            Calculates length of line inside polygon. Parts of the line that is on the edge of 
            the polygon only counts with half their length.
            </summary>
            <param name="line">Line</param>
            <param name="polygon">Polygon</param>
            <returns>
            Length of line inside polygon.
            </returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYGeometryTools.TriangleIntersectionArea(Oatc.OpenMI.Sdk.Spatial.XYPolygon,Oatc.OpenMI.Sdk.Spatial.XYPolygon)">
            <summary>
            The method calculates the intersection area of triangle a and b both
            of type XYPolygon.
            </summary>
            <param name="triangleA">Triangle of type XYPolygon</param>
            <param name="triangleB">Triangle of type XYPolygon</param>
            <returns>
            Intersection area between the triangles triangleA and triAngleB.
            </returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYGeometryTools.Intersect(Oatc.OpenMI.Sdk.Spatial.XYPolygon,Oatc.OpenMI.Sdk.Spatial.XYPolygon,Oatc.OpenMI.Sdk.Spatial.XYPoint@,System.Int32@,System.Int32@,Oatc.OpenMI.Sdk.Spatial.XYPolygon@)">
            <summary>
            The method calculates the intersection points of triangle a and b both
            of type XYPolygon.
            </summary>
            <param name="triangleA">triangle. The search is started along triangleA.</param>
            <param name="triangleB">triangle. Intersection with this triangle are sought.</param>
            <param name="p">Starting point for the search. p must be part of triangleA.</param>
            <param name="i">on input: End index for the first line segment of triangleA in the search.
            on output: End index for the last intersected line segment in triangleA.</param>
            <param name="j">on input: -1 if vertices before intersection is not to be added to list.
            on output: End index for last intersected line segment of triangleB.</param>
            <param name="intersectionPolygon">polygon eventuallu describing the 
            intersection area between triangleA and triangleB</param>
            <returns>
            The p, i, j and intersectionPolygon are called by reference and modified in the method.
            </returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYGeometryTools.Increase(System.Int32,System.Int32)">
            <summary>
            The method steps to the next index in a circular list 0, 1 ..., n.
            </summary>
            <param name="i">Index to increase.</param>
            <param name="n">Largest index</param>
            <returns>
            <p>The increased index.</p>
            </returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYGeometryTools.Decrease(System.Int32,System.Int32)">
            <summary>
            The method steps to the previous index in a circular list 0, 1 ..., n.
            </summary>
            <param name="i">Index to decrease.</param>
            <param name="n">Largest index</param>
            <returns>
            <p>The decreased index.</p>
            </returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYGeometryTools.IntersectionPoint(Oatc.OpenMI.Sdk.Spatial.XYLine,Oatc.OpenMI.Sdk.Spatial.XYLine,Oatc.OpenMI.Sdk.Spatial.XYPoint@)">
            <summary>
            Checks if the lines lineA and lineB shares a point either as a real 
            crossing point or as a shared end point or a end point of the one 
            line being in the other line.
            </summary>
            <param name="Linea">Line.</param>
            <param name="Lineb">Line.</param>
            <param name="intersectionPoint">Point.</param>
            <returns>
            <p>True if lineA and lineB has shared point. False otherwise</p>
            <p>The shared point if any is returned in the intersectionPoint 
            parameter that is called by reference</p>
            </returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYGeometryTools.IsPointInLine(System.Double,System.Double,Oatc.OpenMI.Sdk.Spatial.XYLine)">
            <summary>
            Determines if a point is included in a line either in the interior 
            or as one of the end points.
            </summary>
            <param name="x">x-coordinate</param>
            <param name="y">y-coordinate</param>
            <param name="line">Line.</param>
            <returns>
            <p>Determines if a point is included in a line.</p>
            </returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYGeometryTools.IsPointInLine(Oatc.OpenMI.Sdk.Spatial.XYPoint,Oatc.OpenMI.Sdk.Spatial.XYLine)">
            <summary>
            Determines if a point is included in a line either in the interior 
            or as one of the end points.
            <p>Overload to: IsPointInLine(double x, double y, XYLine line)</p>
            </summary>
            
            <param name="point">Point</param>
            <param name="line">Line.</param>
            
            <returns>
            <p>Determines if a point is included in a line.</p>
            </returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYGeometryTools.IsPointInLineInterior(System.Double,System.Double,Oatc.OpenMI.Sdk.Spatial.XYLine)">
            <summary>
            Determines if a point is included in a lines interior. I.e. included 
            in the line and not an endpoint. 
            </summary>
            <param name="x">x-coordinate</param>
            <param name="y">y-coordinate</param>
            <param name="line">Line.</param>
            <returns>
            <p>Determines if a point is included in a line.</p>
            </returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYGeometryTools.IsPointInLineInterior(Oatc.OpenMI.Sdk.Spatial.XYPoint,Oatc.OpenMI.Sdk.Spatial.XYLine)">
            <summary>
            Determines if a point is included in a lines interior. I.e. included 
            in the line and not an endpoint. 
            <p>Overload to:IsPointInLineInterior(double x, double y, XYLine line)</p>
            </summary>
            <param name="point">Point.</param>
            <param name="line">Line.</param>
            <returns>
            <p>Determines if a point is included in a line.</p>
            </returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYGeometryTools.CalculateLineToPointDistance(Oatc.OpenMI.Sdk.Spatial.XYLine,Oatc.OpenMI.Sdk.Spatial.XYPoint)">
            <summary>
            Calculates the distance from a polyline to a point in the plane. 
            The algorithm decides weather the point lies besides the line 
            segment in which case the distance is the length along a line 
            perpendicular to the line. Alternatively the distance is the 
            smallest of the distances to either endpoint.
            </summary>
            <param name="line">Line</param>
            <param name="point">Point</param>
            <returns>
            <p>Length of the shortest path between the line and the point.</p>
            </returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYGeometryTools.CalculatePolylineToPointDistance(Oatc.OpenMI.Sdk.Spatial.XYPolyline,Oatc.OpenMI.Sdk.Spatial.XYPoint)">
            <summary>
            Finds the shortest distance between any line segment of the polyline 
            and the point.
            </summary>
            <param name="polyLine">PolyLine.</param>
            <param name="point">Point</param>
            <returns>
            <p>Length of the shortest path between the polyline and the point.</p>
            </returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYGeometryTools.IsPointInPolygon(Oatc.OpenMI.Sdk.Spatial.XYPoint,Oatc.OpenMI.Sdk.Spatial.XYPolygon)">
            <summary>
            Determines if a point in inside or outside a polygon.
            Works for both convex and concave polygons (Winding number test)
            </summary>
            <param name="point">Point</param>
            <param name="polygon">Polygon</param>
            <returns>
            <p>true:  If the point is inside the polygon</p>
            <p>false: Otherwise.</p>
            </returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYGeometryTools.IsPointInPolygon(System.Double,System.Double,Oatc.OpenMI.Sdk.Spatial.XYPolygon)">
            <summary>
            Determines if a point in inside or outside a polygon.
            Works for both convex and concave polygons (Winding number test)
            </summary>
            <param name="x">x-coordinate for the point</param>
            <param name="y">y-coordiante for the point</param>
            <param name="polygon">Polygon</param>
            <returns>
            <p>true:  If the point is inside the polygon</p>
            <p>false: If the point is outside the polygon.</p>
            </returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYGeometryTools.IsPointInPolygonOrOnEdge(System.Double,System.Double,Oatc.OpenMI.Sdk.Spatial.XYPolygon)">
            <summary>
            Determines if a point in inside or outside a polygon. Inside
            includes on the edge for this method.
            Works for both convex and concave polygons (Winding number test)
            </summary>
            <param name="x">x-coordinate for the point</param>
            <param name="y">y-coordiante for the point</param>
            <param name="polygon">Polygon</param>
            <returns>
            <p>true:  If the point is inside the polygon</p>
            <p>false: If the point is outside the polygon.</p>
            </returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.XYGeometryTools.CalculateSharedArea(Oatc.OpenMI.Sdk.Spatial.XYPolygon,Oatc.OpenMI.Sdk.Spatial.XYPolygon)">
            <summary>
            The methods calculates the shared area of two arbitrarily shaped 
            polygons.
            </summary>
            <param name="polygonA">Polygon</param>
            <param name="polygonB">Polygon</param>
            <returns>
            <p>The shared area.</p>
            </returns>
        </member>
        <member name="T:Oatc.OpenMI.Sdk.Spatial.ElementMapper">
            <summary>
            The ElementMapper converts one ValueSet (inputValues) associated one ElementSet (fromElements)
            to a new ValuesSet (return value of MapValue) that corresponds to another ElementSet 
            (toElements). The conversion is a two step procedure where the first step (Initialize) is 
            executed at initialisation time only, whereas the MapValues is executed during time stepping.
            
            <p>The Initialize method will create a conversion matrix with the same number of rows as the
            number of elements in the ElementSet associated to the accepting component (i.e. the toElements) 
            and the same number of columns as the number of elements in the ElementSet associated to the 
            providing component (i.e. the fromElements).</p>
            
            <p>Mapping is possible for any zero-, one- and two-dimensional elemets. Zero dimensional 
            elements will always be points, one-dimensional elements will allways be polylines and two-
            dimensional elements will allways be polygons.</p>
            
            <p>The ElementMapper contains a number of methods for mapping between the different element types.
            As an example polyline to polygon mapping may be done either as Weighted Mean or as Weighted Sum.
            Typically the method choice will depend on the quantity mapped. Such that state variables such as 
            water level will be mapped using Weighted Mean whereas flux variables such as seepage from river 
            to groundwater will be mapped using Weighted Sum. The list of available methods for a given 
            combination of from and to element types is obtained using the GetAvailableMethods method.</p>
            </summary>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.ElementMapper.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.ElementMapper.Initialise(System.String,OpenMI.Standard.IElementSet,OpenMI.Standard.IElementSet)">
             <summary>
             Initialises the ElementMapper. The initialisation includes setting the _isInitialised
             flag and calls UpdateMappingMatrix for claculation of the mapping matrix.
             </summary>
            
             <param name="methodDescription">String description of mapping method</param> 
             <param name="fromElements">The IElementSet to map from.</param>
             <param name="toElements">The IElementSet to map to</param>
             
             <returns>
             The method has no return value.
             </returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.ElementMapper.MapValues(OpenMI.Standard.IValueSet)">
            <summary>
            MapValues calculates a IValueSet through multiplication of an inputValues IValueSet
            vector or matrix (ScalarSet or VectorSet) on to the mapping maprix. IScalarSets maps
            to IScalarSets and IVectorSets maps to IVectorSets.
            </summary>
            
            <remarks>
            Mapvalues is called every time a georeferenced link is evaluated.
            </remarks>
            
            <param name="inputValues">IValueSet of values to be mapped.</param>
            
            <returns>
            A IValueSet found by mapping of the inputValues on to the toElementSet.
            </returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.ElementMapper.UpdateMappingMatrix(System.String,OpenMI.Standard.IElementSet,OpenMI.Standard.IElementSet)">
             <summary>
             Calculates the mapping matrix between fromElements and toElements. The mapping method 
             is decided from the combination of methodDescription, fromElements.ElementType and 
             toElements.ElementType. 
             The valid values for methodDescription is obtained through use of the 
             GetAvailableMethods method.
             </summary>
             
             <remarks>
             UpdateMappingMatrix is called during initialisation. UpdateMappingMatrix must be called prior
             to Mapvalues.
             </remarks>
             
             <param name="methodDescription">String description of mapping method</param> 
             <param name="fromElements">The IElementset to map from.</param>
             <param name="toElements">The IElementset to map to</param>
            
             <returns>
             The method has no return value.
             </returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.ElementMapper.GetValueFromMappingMatrix(System.Int32,System.Int32)">
            <summary>
            Extracts the (row, column) element from the MappingMatrix.
            </summary>
            
            <param name="row">Zero based row index</param>
            <param name="column">Zero based column index</param>
            <returns>
            Element(row, column) from the mapping matrix.
            </returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.ElementMapper.SetValueInMappingMatrix(System.Double,System.Int32,System.Int32)">
            <summary>
            Sets individual the (row, column) element in the MappingMatrix.
            </summary>
            
            <param name="value">Element value to set</param>
            <param name="row">Zero based row index</param>
            <param name="column">Zero based column index</param>
            <returns>
            No value is returned.
            </returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.ElementMapper.GetAvailableMethods(OpenMI.Standard.ElementType,OpenMI.Standard.ElementType)">
            <summary>
            Gives a list of descriptions (strings) for available mapping methods 
            given the combination of fromElementType and toElementType
            </summary>
            
            <param name="fromElementsElementType">Element type of the elements in
            the fromElementset</param>
            <param name="toElementsElementType">Element type of the elements in
            the toElementset</param>
            
            <returns>
            <p>ArrayList of method descriptions</p>
            </returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.ElementMapper.GetIDsForAvailableDataOperations(OpenMI.Standard.ElementType,OpenMI.Standard.ElementType)">
            <summary>
            Gives a list of ID's (strings) for available mapping methods 
            given the combination of fromElementType and toElementType
            </summary>
            
            <param name="fromElementsElementType">Element type of the elements in
            the fromElementset</param>
            <param name="toElementsElementType">Element type of the elements in
            the toElementset</param>
            
            <returns>
            <p>ArrayList of method ID's</p>
            </returns>
        </member>
        <member name="M:Oatc.OpenMI.Sdk.Spatial.ElementMapper.GetAvailableDataOperations(OpenMI.Standard.ElementType)">
            <summary>
            This method will return an ArrayList of IDataOperations that the ElementMapper provides when
            mapping from the ElementType specified in the method argument. 
            </summary>
            <remarks>
             Each IDataOperation object will contain 3 IArguments:
             <p> [Key]              [Value]                      [ReadOnly]    [Description]----------------- </p>
             <p> ["Type"]           ["SpatialMapping"]           [true]        ["Using the ElementMapper"] </p>
             <p> ["ID"]             [The Operation ID]           [true]        ["Internal ElementMapper dataoperation ID"] </p>
             <p> ["Description"]    [The Operation Description]  [true]        ["Using the ElementMapper"] </p>
             <p> ["ToElementType"]  [ElementType]                [true]        ["Valid To-Element Types"]  </p>
            </remarks>
            <param name="fromElementsElementType"></param>
            <returns>
             ArrayList which contains the available dataOperations (IDataOperation).
            </returns>
        </member>
    </members>
</doc>
